
package com.wwy.monitor.mapper.tddl;

import com.wwy.monitor.model.tddl.dto.MonitorCaseDTO;
import com.wwy.monitor.model.tddl.query.MonitorCaseQuery;
import com.wwy.monitor.model.tddl.vo.MonitorCaseVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author long.Wanheng
 * @version V1.00
 * @createDate 2019/11/7
 */
@Repository
public interface MonitorCaseMapper {
    MonitorCaseDTO selectById(@Param("id") Long id);

    /**
     * æ¥è¯¢caseä»»å¡æ°æ®
     *
     * @param monitorCaseQuery æ¥è¯¢æ¡ä»¶
     * @return caseä»»å¡æ°æ®
     */
    List<MonitorCaseDTO> queryMonitorCase(@Param("monitorCaseQuery") MonitorCaseQuery monitorCaseQuery);

    /**
     * æ¥è¯¢caseä»»å¡è¿è¡¨æ¥è¯¢æ°æ®
     *
     * @param monitorCaseQuery æ¥è¯¢æ¡ä»¶
     * @return caseä»»å¡æ°æ®
     */
    List<MonitorCaseVO> queryCaseList(MonitorCaseQuery monitorCaseQuery);

    /**
     * æ·»å caseä»»å¡
     *
     * @param param caseä»»å¡参数
     * @return æ·»å æ¡æ°
     */
    int addMonitorCase(MonitorCaseDTO param);

    /**
     * 批量添加caseä»»å¡
     *
     * @param list caseä»»å¡åè¡¨
     * @return æ·»å æ¡æ°
     */
    int addBatchMonitorCase(@Param("list") List<MonitorCaseDTO> list);

    /**
     * æ ¹æ®idé»è¾å é¤
     *
     * @param id ä¸»é®id
     * @return é»è¾å é¤æ¡æ°
     */
    int deleteById(Long id);

    /**
     * æ ¹æ®idéåæ¹éé»è¾å é¤
     *
     * @param ids ä¸»é®id
     * @return é»è¾å é¤æ¡æ°
     */
    int deleteByIds(@Param("list") List<Integer> ids);

    int queryCaseCount(MonitorCaseQuery query);
}